﻿using System;
using System.Collections.Generic;
using Config;
using Tools;
using UnityEngine;

namespace Component.UI.Entity
{
    [Serializable]
    public class StageEntity : FileTools<StageEntity>
    {
        public int StageId { get; set; }
        public string StageName { get; set; }
        public List<float[]> OptionalColor { get; set; }
        public string StageDescribe { get; set; }
        public int Score { get; set; }
        public List<Challenge> Challenges { get; set; }
        public int PassengerCapacity { get; set; }

        public StageEntity(int stageId, string stageName, List<float[]> optionalColor, string stageDescribe, int score, List<Challenge> challenges, int passengerCapacity)
        {
            StageId = stageId;
            StageName = stageName;
            OptionalColor = optionalColor;
            StageDescribe = stageDescribe;
            Score = score;
            Challenges = challenges;
            PassengerCapacity = passengerCapacity;
        }
    }



    [Serializable]
    public struct Challenge
    {
        public string describe;
        public string image;
        public bool unlocked;

        public Challenge(string describe, string image, bool unlocked)
        {
            this.describe = describe;
            this.image = image;
            this.unlocked = unlocked;
        }
    }
    
}